// 用户验证器

import { isValidPassword, isValidUsername } from '../utils/validation.js'

/**
 * 验证注册数据
 */
const validateRegisterData = (data) => {
  const errors = []
  
  if (!data.username || !isValidUsername(data.username)) {
    errors.push('用户名格式不正确（3-20位字母数字下划线）')
  }
  
  if (!data.password || !isValidPassword(data.password)) {
    errors.push('密码格式不正确（至少6位，包含字母和数字）')
  }
  
  return {
    isValid: errors.length === 0,
    errors
  }
}

/**
 * 验证登录数据
 */
const validateLoginData = (data) => {
  const errors = []
  
  if (!data.username) {
    errors.push('用户名不能为空')
  }
  
  if (!data.password) {
    errors.push('密码不能为空')
  }
  
  return {
    isValid: errors.length === 0,
    errors
  }
}

/**
 * 验证用户资料数据
 */
const validateProfileData = (data) => {
  const errors = []
  
  if (data.title && data.title.length > 50) {
    errors.push('标题不能超过50个字符')
  }
  
  if (data.bio && data.bio.length > 500) {
    errors.push('个人简介不能超过500个字符')
  }
  
  return {
    isValid: errors.length === 0,
    errors
  }
}

export default {
  validateRegisterData,
  validateLoginData,
  validateProfileData
} 